/**
 * 首页方法封装处理
 */
layer.config({
	extend: 'moon/style.css',
	skin: 'layer-ext-moon'
});

var isMobile = $.common.isMobile() || $(window).width() < 769;


//added by xiaobei 2020/07/02 ie不兼容dataset问题解决
function getDataset(ele) {
	if (ele.dataset) {
		return ele.dataset;
	} else {
		var attrs = ele.attributes, //元素的属性集合
			dataset = {},
			name, matchStr;
		for (var i = 0; i < attrs.length; i++) { //是否是data- 开头
			matchStr = attrs[i].name.match(/^data-(.+)/);
			if (matchStr) { //data-auto-play 转成驼峰写法 autoPlay
				name = matchStr[1].replace(/-([\da-z])/gi, function(all, letter) {
					return letter.toUpperCase();
				});
				dataset[name] = attrs[i].value;
			}
		}
		return dataset;
	}
}

//xiaobei end

var menuList = []

function getMenu(callback) {
	$.operate.get(api + '/admin/menu', function(res) {
		menuList = res.data
		callback(menuList)
	}, false)
}


var stompClient = null;
var nowMsgId;

function connect() {
	var user = JSON.parse(session.get("userInfo"));
	var headers = {
		'TENANT-ID': session.get('tenantId') ? session.get('tenantId') : '',
		'Authorization': 'Bearer ' + session.get('token'),
		'CURRENT_USERNAME': user.username
	}
	try {
		var socket = new SockJS(api + "/msg/net");
		stompClient = Stomp.over(socket);
		stompClient.connect(headers, function(frame) {
			stompClient.subscribe('/net/result', function(response) {
				var result = JSON.parse(response.body)
				if (result.code === 0 && result.data.msgId > 0) {
					nowMsgId = result.data.msgId
					layer.closeAll()
					var content;
					if (result.data.content.length > 100) {
						content = result.data.content.substring(0, 100) + '...'
					} else {
						content = result.data.content
					}
					layer.open({
						type: 1,
						offset: 'rb',
						area: ["350px", "150px"],
						anim: 2,
						shade: 0,
						title: result.data.title,
						content: '<div class="webSocketMsg" data-id="' + result.data.msgId +
							'">' + content + '</div>'
					});
					//		               $('.webSocketMsg').click(function(){
					//		            	   detailWebsocket()
					//		               })
				} else {
					loadNotReadMessage()
				}
			});
		});
	} catch (e) {
		// console.log(e)
	}
}

// $(function () {
//
//
// });

function receiveMessage() {
	//刷新页面上的
	loadNotReadMessage()
}

function loadNotReadMessage() {
	$.get(api + "/msg/messages/count", function(response) {
		if (response.code == 0) {
			localStorage.setItem("currentNumber", response.data)
			renderMessageCount(response.data)
		}
	})
}

function renderMessageCount(count) {
	if (count) {
		if (count > 99) count = '99+'
		$("#number").html(count)
		$("#number").css('display', 'block')
	} else {
		$("#number").css('display', 'none')
	}
}

function detailWebsocket() {
	localStorage.setItem("websocketMsgId", nowMsgId)
	$.modal.openTab("我的消息", '/center/msg/messages/goMessageMyList')
}

$(window).bind("load resize",
	function() {
		if ($(this).width() < 769) {
			$('body').addClass('canvas-menu');
			$("nav .logo").addClass("hide");
			$(".slimScrollDiv").css({
				"overflow": "hidden"
			})
		}
	});

function dragstart(e) {
	// console.log(e);
}

function NavToggle() {
	$('.navbar-minimalize').trigger('click');
}

function fixedSidebar() {
	$('#side-menu').hide();
	$("nav .logo").addClass("hide");
	setTimeout(function() {
			$('#side-menu').fadeIn(500);
		},
		100);
}

function SmoothlyMenu() {
	if (isMobile && !$('body').hasClass('canvas-menu')) {
		$('.navbar-static-side').fadeIn();
		fixedSidebar();
	} else if (!isMobile && !$('body').hasClass('mini-navbar')) {
		fixedSidebar();
		$("nav .logo").removeClass("hide");
	} else if (isMobile && $('body').hasClass('fixed-sidebar')) {
		$('.navbar-static-side').fadeOut();
		fixedSidebar();
	} else if (!isMobile && $('body').hasClass('fixed-sidebar')) {
		fixedSidebar();
	} else {
		$('#side-menu').removeAttr('style');
	}
}

function getRole() {
	$.operate.get(
		api + '/admin/role/list',
		function(resRole) {
			session.set('roleList', JSON.stringify(resRole.data))
		}, false)
}

function getDict() {
	$.operate.get(
		api + '/admin/role/list',
		function(resRole) {
			session.set('roleList', JSON.stringify(resRole.data))
		}, false)
}

function getTableDom() { // 获取当前表格的dom
	var iframes = document.getElementsByTagName("iframe");
	var tabDocument;
	var tabDom;
	var treeTable;
	for (var i = 0; i < iframes.length; i++) {
		if (iframes[i].clientWidth !== 0) {
			tabDocument = iframes[i].contentDocument
		}
	}
	tabDom = tabDocument.getElementById('bootstrap-table')
	treeTable = tabDocument.getElementById('bootstrap-tree-table')
	setTimeout(function() {
		var dom = tabDom || treeTable
		$.table.registerTableDragEvent(dom);
	}, 1000);
}

/**
 * iframe处理
 */
$(function() {
	getRole()
	// MetsiMenu
	$('#side-menu').metisMenu();
	(function() {
		getMenu(function() {
			session.set('menus', JSON.stringify(menuList))
			//渲染菜单模板到页面
			renderTpl('slideMenu', {
				list: menuList
			}, 'side-menu')
			$('#side-menu').metisMenu();
			//通过遍历给菜单项加上data-index属性
			$(".menuItem").each(function(index) {
				if (!$(this).attr('data-index')) {
					$(this).attr('data-index', index);
				}
			});

			// 获取当前打开的路由 && window.performance.navigation.type == 1
			if ($.common.equals("history", mode)) {
				var url = storage.get('publicPath');
				if ($.common.isNotEmpty(url)) {
					applyPath(url);
				}
			} else {
				var hash = location.hash;
				if ($.common.isNotEmpty(hash)) {
					var url = hash.substring(1, hash.length);
					applyPath(url);
				}
			}

		})
	})()

	/** 刷新时访问路径页签 */
	function applyPath(url) {
		$('a[href$="' + decodeURI(url) + '"]').click();
		$('a[href$="' + url + '"]').parent("li").addClass("selected").parents("li :not(.user-panel)").addClass(
			"active").end().parents("ul").addClass("in").parents('#side-menu li').addClass('active');
	}

	//渲染右上角用户名和头像
	var userInfo = JSON.parse(session.get('userInfo'))
	userInfo.userImg = userInfo.avatar ? userInfo.avatar : '/static/img/user_w.jpeg'
	renderTpl('userInfo', userInfo, 'userInfoBox')
	renderTpl('userImage', userInfo, 'userImageBox')
	renderTpl('userName', userInfo, 'userNameBox')
	if (userInfo.avatar) {
		if (isIE89) {
			headerImgBase64(userInfo.avatar, "userLeftHead")
			headerImgBase64(userInfo.avatar, "userRightHead")
		} else {
			headerImg(userInfo.avatar, "userLeftHead")
			headerImg(userInfo.avatar, "userRightHead")
		}
	}


	// main.html文件中菜单树拖拽事件绑定、绑定功能菜单级
	$(document).on("dragstart", '#side-menu>li li a:not(:has(span))', function(e) {
		// $('#side-menu>li li a:not(:has(span))').on("dragstart", function (e) {
		e.stopPropagation();

		// console.dir("源");
		var obj = {};
		//added by xiaobei 2020/07/02 ie不兼容dataset问题解决
		var data_set = getDataset(e.target)
		obj.icon = data_set.icon;
		obj.path = data_set.path;
		//xiaobei end
		// obj.label = e.target.innerHTML;
		obj.label = data_set.label;
		obj.sort = data_set.sort;
		//		obj.icon = e.target.dataset.icon;
		//		obj.path = e.target.dataset.path;
		window.sessionStorage.setItem("targetMenu", JSON.stringify(obj));

	});


	// 固定菜单栏
	$('.sidebar-collapse').slimScroll({
		height: '96%',
		railOpacity: 0.9,
		alwaysVisible: false
	});

	// 菜单切换
	$('.navbar-minimalize').click(function() {
		getTableDom()
		if (isMobile) {
			$("body").toggleClass("canvas-menu");
		} else {
			$("body").toggleClass("mini-navbar");
		}
		SmoothlyMenu();
	});

	$(document).on('click', '#side-menu li', function() {
		if ($('body').hasClass('canvas-menu mini-navbar')) {
			NavToggle();
		}
	});

	$(document).on('click', '#side-menu>li li a:not(:has(span))', function() {
		// $('#side-menu>li li a:not(:has(span))').click(function() {
		if ($(window).width() < 769) {
			NavToggle();
		}
	});

	$('.nav-close').click(NavToggle);


	//ios浏览器兼容性处理
	if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
		$('#content-main').css('overflow-y', 'auto');
	}

	loadNotReadMessage()
	connect()
	try {
		window.addEventListener("receiveMessage", function(event) {
			//刷新页面上的
			loadNotReadMessage()
		})
	} catch (e) {
		window.attachEvent('onReceiveMessage', function() {
			//刷新页面上的
			loadNotReadMessage()
		});
	}

	if (stompClient) {
		stompClient.ws.onclose = function() {
			connect();
		}
		stompClient.ws.onerror = function() {
			connect();
		}
	}


	// 点击websocket跳转我的消息
	//$('#websocketContent').click(function(){
	//   readDetail(nowMsgId)
	//})

	//退出登录
	$('#logoutBtn,#logoutBtnLeft').click(function() {
		$.modal.confirm('确定退出登录吗？', function() {
			logOut()
		})
	})
	//检查密码状态
	checkPwd()

	function checkPwd() {
		$.operate.get(
			api + '/admin/user/modifyCheck/' + userInfo.userId,
			function(res) {
				var result = res.data;
				if (result.tip) {
					//提示
					$.modal.alertWarning(result.msg)
				}
				if (result.modify) {
					//修改
					var url = '/pages/home/modifypwd';
					layer.open({
						type: 2,
						area: ['770px', '450px'],
						// fixed: true,
						maxmin: false,
						shade: 0.3,
						title: '修改密码',
						content: url,
						btn: ['确定'],
						// 弹层外区域关闭
						// shadeClose: false,
						closeBtn: 0,
						yes: function(index, layero) {
							var iframeWin = layero.find('iframe')[0];
							iframeWin.contentWindow.submitHandler(index, layero);
						},
						cancel: function(index) {
							return false;
						},
						success: function(layero, index) {
							//移除esc的关闭事件
							$('body').off('keyup');
						}
					});
				}
			}, false)
	}
	//计算元素集合的总宽度
	function calSumWidth(elements) {
		var width = 0;
		$(elements).each(function() {
			width += $(this).outerWidth(true);
		});
		return width;
	}

	// 激活指定选项卡
	function setActiveTab(element) {
		if (!$(element).hasClass('active')) {
			var currentId = $(element).data('id');
			// 显示tab对应的内容区
			$('.RuoYi_iframe').each(function() {
				if ($(this).data('id') == currentId) {
					$(this).show().siblings('.RuoYi_iframe').hide();
				}
			});
			$(element).addClass('active').siblings('.menuTab').removeClass('active');
			scrollToTab(element);
		}
	}

	//滚动到指定选项卡
	function scrollToTab(element) {
		var marginLeftVal = calSumWidth($(element).prevAll()),
			marginRightVal = calSumWidth($(element).nextAll());
		// 可视区域非tab宽度
		var tabOuterWidth = calSumWidth($(".content-tabs").children().not(".menuTabs"));
		//可视区域tab宽度
		var visibleWidth = $(".content-tabs").outerWidth(true) - tabOuterWidth;
		//实际滚动宽度
		var scrollVal = 0;
		if ($(".page-tabs-content").outerWidth() < visibleWidth) {
			scrollVal = 0;
		} else if (marginRightVal <= (visibleWidth - $(element).outerWidth(true) - $(element).next().outerWidth(
				true))) {
			if ((visibleWidth - $(element).next().outerWidth(true)) > marginRightVal) {
				scrollVal = marginLeftVal;
				var tabElement = element;
				while ((scrollVal - $(tabElement).outerWidth()) > ($(".page-tabs-content").outerWidth() -
						visibleWidth)) {
					scrollVal -= $(tabElement).prev().outerWidth();
					tabElement = $(tabElement).prev();
				}
			}
		} else if (marginLeftVal > (visibleWidth - $(element).outerWidth(true) - $(element).prev().outerWidth(
				true))) {
			scrollVal = marginLeftVal - $(element).prev().outerWidth(true);
		}
		$('.page-tabs-content').animate({
				marginLeft: 0 - scrollVal + 'px'
			},
			"fast");
	}

	//查看左侧隐藏的选项卡
	function scrollTabLeft() {
		var marginLeftVal = Math.abs(parseInt($('.page-tabs-content').css('margin-left')));
		// 可视区域非tab宽度
		var tabOuterWidth = calSumWidth($(".content-tabs").children().not(".menuTabs"));
		//可视区域tab宽度
		var visibleWidth = $(".content-tabs").outerWidth(true) - tabOuterWidth;
		//实际滚动宽度
		var scrollVal = 0;
		if (($(".page-tabs-content").width()) < visibleWidth) {
			return false;
		} else {
			var tabElement = $(".menuTab:first");
			var offsetVal = 0;
			while ((offsetVal + $(tabElement).outerWidth(true)) <= marginLeftVal) { //找到离当前tab最近的元素
				offsetVal += $(tabElement).outerWidth(true);
				tabElement = $(tabElement).next();
			}
			offsetVal = 0;
			if (calSumWidth($(tabElement).prevAll()) > visibleWidth) {
				while ((offsetVal + $(tabElement).outerWidth(true)) < (visibleWidth) && tabElement.length > 0) {
					offsetVal += $(tabElement).outerWidth(true);
					tabElement = $(tabElement).prev();
				}
				scrollVal = calSumWidth($(tabElement).prevAll());
			}
		}
		$('.page-tabs-content').animate({
				marginLeft: 0 - scrollVal + 'px'
			},
			"fast");
	}

	//查看右侧隐藏的选项卡
	function scrollTabRight() {
		var marginLeftVal = Math.abs(parseInt($('.page-tabs-content').css('margin-left')));
		// 可视区域非tab宽度
		var tabOuterWidth = calSumWidth($(".content-tabs").children().not(".menuTabs"));
		//可视区域tab宽度
		var visibleWidth = $(".content-tabs").outerWidth(true) - tabOuterWidth;
		//实际滚动宽度
		var scrollVal = 0;
		if ($(".page-tabs-content").width() < visibleWidth) {
			return false;
		} else {
			var tabElement = $(".menuTab:first");
			var offsetVal = 0;
			while ((offsetVal + $(tabElement).outerWidth(true)) <= marginLeftVal) { //找到离当前tab最近的元素
				offsetVal += $(tabElement).outerWidth(true);
				tabElement = $(tabElement).next();
			}
			offsetVal = 0;
			while ((offsetVal + $(tabElement).outerWidth(true)) < (visibleWidth) && tabElement.length > 0) {
				offsetVal += $(tabElement).outerWidth(true);
				tabElement = $(tabElement).next();
			}
			scrollVal = calSumWidth($(tabElement).prevAll());
			if (scrollVal > 0) {
				$('.page-tabs-content').animate({
						marginLeft: 0 - scrollVal + 'px'
					},
					"fast");
			}
		}
	}


	function menuItem() {
		// 获取标识数据
		var dataUrl = $(this).attr('href'),
			dataIndex = $(this).data('index'),
			menuName = $.trim($(this).text()),
			flag = true;
		$(".nav ul li, .nav li").removeClass("selected");
		$(this).parent("li").addClass("selected");
		setIframeUrl($(this).attr("href"));
		if (dataUrl == undefined || $.trim(dataUrl).length == 0) return false;
		if (isIE8 && dataUrl.indexOf('swagger') != -1) { //ie8不支持swagger-ui
			$.modal.alertWarning('当前浏览器不支持查看接口文档，请更换浏览器或升级您的IE版本！');
			return false;
		}
		// 选项卡菜单已存在
		$('.menuTab').each(function() {
			if ($(this).data('id') == dataUrl) {
				if (!$(this).hasClass('active')) {
					$(this).addClass('active').siblings('.menuTab').removeClass('active');
					scrollToTab(this);
					// 显示tab对应的内容区
					$('.mainContent .RuoYi_iframe').each(function() {
						if ($(this).data('id') == dataUrl) {
							$(this).show().siblings('.RuoYi_iframe').hide();
							return false;
						}
					});
				}
				flag = false;
				return false;
			}
		});
		// 选项卡菜单不存在
		if (flag) {
			var str = '<a href="javascript:;" class="active menuTab" data-id="' + dataUrl + '">' + menuName +
				' <i class="fa fa-times-circle"></i></a>';
			$('.menuTab').removeClass('active');

			// 添加选项卡对应的iframe
			var str1 = '<iframe class="RuoYi_iframe" name="iframe' + dataIndex +
				'" width="100%" height="100%" src="' + dataUrl + '" frameborder="0" data-id="' + dataUrl +
				'" seamless></iframe>';
			$('.mainContent').find('iframe.RuoYi_iframe').hide().parents('.mainContent').append(str1);

			$.modal.loading("数据加载中，请稍后...");

			$('.mainContent iframe:visible').load(function() {
				$.modal.closeLoading();
			});

			// 添加选项卡
			$('.menuTabs .page-tabs-content').append(str);
			scrollToTab($('.menuTab.active'));
		}
		return false;
	}

	function menuBlank() {
		// 新窗口打开外网以http://开头，如http://ruoyi.vip
		var dataUrl = $(this).attr('href');
		window.open(dataUrl);
		return false;
	}

	$(document).on('click', '.menuItem', menuItem);

	$('.menuBlank').on('click', menuBlank);

	// 关闭选项卡菜单
	function closeTab() {
		var closeTabId = $(this).parents('.menuTab').data('id');
		var currentWidth = $(this).parents('.menuTab').width();
		var panelUrl = $(this).parents('.menuTab').data('panel');
		// 当前元素处于活动状态
		if ($(this).parents('.menuTab').hasClass('active')) {

			// 当前元素后面有同辈元素，使后面的一个元素处于活动状态
			if ($(this).parents('.menuTab').next('.menuTab').size()) {

				var activeId = $(this).parents('.menuTab').next('.menuTab:eq(0)').data('id');
				$(this).parents('.menuTab').next('.menuTab:eq(0)').addClass('active');

				$('.mainContent .RuoYi_iframe').each(function() {
					if ($(this).data('id') == activeId) {
						$(this).show().siblings('.RuoYi_iframe').hide();
						return false;
					}
				});

				var marginLeftVal = parseInt($('.page-tabs-content').css('margin-left'));
				if (marginLeftVal < 0) {
					$('.page-tabs-content').animate({
							marginLeft: (marginLeftVal + currentWidth) + 'px'
						},
						"fast");
				}

				//  移除当前选项卡
				$(this).parents('.menuTab').remove();

				// 移除tab对应的内容区
				$('.mainContent .RuoYi_iframe').each(function() {
					if ($(this).data('id') == closeTabId) {
						$(this).remove();
						return false;
					}
				});
			}

			// 当前元素后面没有同辈元素，使当前元素的上一个元素处于活动状态
			if ($(this).parents('.menuTab').prev('.menuTab').size()) {
				var activeId = $(this).parents('.menuTab').prev('.menuTab:last').data('id');
				$(this).parents('.menuTab').prev('.menuTab:last').addClass('active');
				$('.mainContent .RuoYi_iframe').each(function() {
					if ($(this).data('id') == activeId) {
						$(this).show().siblings('.RuoYi_iframe').hide();
						return false;
					}
				});

				//  移除当前选项卡
				$(this).parents('.menuTab').remove();

				// 移除tab对应的内容区
				$('.mainContent .RuoYi_iframe').each(function() {
					if ($(this).data('id') == closeTabId) {
						$(this).remove();
						return false;
					}
				});

				if ($.common.isNotEmpty(panelUrl)) {
					$('.menuTab[data-id="' + panelUrl + '"]').addClass('active').siblings('.menuTab')
						.removeClass('active');
					$('.mainContent .RuoYi_iframe').each(function() {
						if ($(this).data('id') == panelUrl) {
							$(this).show().siblings('.RuoYi_iframe').hide();
							return false;
						}
					});
				}
			}
		}
		// 当前元素不处于活动状态
		else {
			//  移除当前选项卡
			$(this).parents('.menuTab').remove();

			// 移除相应tab对应的内容区
			$('.mainContent .RuoYi_iframe').each(function() {
				if ($(this).data('id') == closeTabId) {
					$(this).remove();
					return false;
				}
			});
		}
		scrollToTab($('.menuTab.active'));
		return false;
	}

	$('.menuTabs').on('click', '.menuTab i', closeTab);

	//滚动到已激活的选项卡
	function showActiveTab() {
		scrollToTab($('.menuTab.active'));
	}

	$('.tabShowActive').on('click', showActiveTab);

	// 点击选项卡菜单
	function activeTab() {
		if (!$(this).hasClass('active')) {
			var currentId = $(this).data('id');
			// 显示tab对应的内容区
			$('.mainContent .RuoYi_iframe').each(function() {
				if ($(this).data('id') == currentId) {
					$(this).show().siblings('.RuoYi_iframe').hide();
					return false;
				}
			});
			storage.set('publicPath', currentId); //xiaobei added 2020/8/31 刷新页面后该显示的页面
			$(this).addClass('active').siblings('.menuTab').removeClass('active');
			scrollToTab(this);
		}
	}

	// 点击选项卡菜单
	$('.menuTabs').on('click', '.menuTab', activeTab);

	// 刷新iframe
	function refreshTab() {
		var currentId = $('.page-tabs-content').find('.active').attr('data-id');
		var target = $('.RuoYi_iframe[data-id="' + currentId + '"]');
		var url = target.attr('src');
		target.attr('src', url).ready();
	}

	// 页签全屏
	function fullScreenTab() {
		var currentId = $('.page-tabs-content').find('.active').attr('data-id');
		var target = $('.RuoYi_iframe[data-id="' + currentId + '"]');
		target.fullScreen(true);
	}

	// 关闭当前选项卡
	function tabCloseCurrent() {
		$('.page-tabs-content').find('.active i').trigger("click");
	}

	//关闭其他选项卡
	function tabCloseOther() {
		$('.page-tabs-content').children("[data-id]").not(":first").not(".active").each(function() {
			$('.RuoYi_iframe[data-id="' + $(this).data('id') + '"]').remove();
			$(this).remove();
		});
		$('.page-tabs-content').css("margin-left", "0");
	}

	// 关闭全部选项卡
	function tabCloseAll() {
		$('.page-tabs-content').children("[data-id]").not(":first").each(function() {
			$('.RuoYi_iframe[data-id="' + $(this).data('id') + '"]').remove();
			$(this).remove();
		});
		$('.page-tabs-content').children("[data-id]:first").each(function() {
			$('.RuoYi_iframe[data-id="' + $(this).data('id') + '"]').show();
			$(this).addClass("active");
		});
		$('.page-tabs-content').css("margin-left", "0");
	}

	//added by xiaobei 兼容ie10及以下全屏显示功能
	var isIE = window.ActiveXObject //浏览器为ie10及以下，不包括ie11
	function iefull() {
		var el = document.documentElement;
		var rfs = el.msRequestFullScreen;
		if (typeof window.ActiveXObject != "undefined") {
			//这的方法 模拟f11键，使浏览器全屏
			try {
				var wscript = new ActiveXObject("WScript.Shell");
				if (wscript != null) {
					wscript.SendKeys("{F11}");
				}
			} catch (e) {
				alert('请先启用浏览器安全设置 “对未标记为可安全执行脚本的ActiveX控间初始化并执行脚本” 再使用此功能')
			}

		}
	}

	//end xiaobei

	// 全屏显示
	$('#fullScreen').on('click', function() {
		getTableDom()
		if (isIE) {
			iefull()
		} else {
			$(document).toggleFullScreen();
		}

	});

	// 页签刷新按钮
	$('.tabReload').on('click', refreshTab);

	// 页签全屏按钮
	$('.tabFullScreen').on('click', fullScreenTab);

	// 双击选项卡全屏显示
	$('.menuTabs').on('dblclick', '.menuTab', activeTabMax);

	// 左移按扭
	$('.tabLeft').on('click', scrollTabLeft);

	// 右移按扭
	$('.tabRight').on('click', scrollTabRight);

	// 关闭当前
	$('.tabCloseCurrent').on('click', tabCloseCurrent);

	// 关闭其他
	$('.tabCloseOther').on('click', tabCloseOther);

	// 关闭全部
	$('.tabCloseAll').on('click', tabCloseAll);

	// tab全屏显示
	$('.tabMaxCurrent').on('click', function() {
		$('.page-tabs-content').find('.active').trigger("dblclick");
	});

	// 关闭全屏
	$('#ax_close_max').click(function() {
		$('#content-main').toggleClass('max');
		$('#ax_close_max').hide();
	})


	// 双击选项卡全屏显示
	function activeTabMax() {
		$('#content-main').toggleClass('max');
		$('#ax_close_max').show();
	}

	// 设置锚点
	function setIframeUrl(href) {
		if ($.common.equals("history", mode)) {
			storage.set('publicPath', href);
		} else {
			var nowUrl = window.location.href;
			var newUrl = nowUrl.substring(0, nowUrl.indexOf("#"));
			window.location.href = newUrl + "#" + href;
		}
	}


	$(window).keydown(function(event) {
		if (event.keyCode == 27) {
			$('#content-main').removeClass('max');
			$('#ax_close_max').hide();
		}
	});

	window.onhashchange = function() {
		var hash = location.hash;
		var url = hash.substring(1, hash.length);
		$('a[href$="' + url + '"]').click();
	};

	// 右键菜单实现
	$.contextMenu({
		selector: ".menuTab",
		trigger: 'right',
		autoHide: true,
		items: {
			"close_current": {
				name: "关闭当前",
				icon: "fa-close",
				callback: function(key, opt) {
					opt.$trigger.find('i').trigger("click");
				}
			},
			"close_other": {
				name: "关闭其他",
				icon: "fa-window-close-o",
				callback: function(key, opt) {
					setActiveTab(this);
					tabCloseOther();
				}
			},
			"close_left": {
				name: "关闭左侧",
				icon: "fa-reply",
				callback: function(key, opt) {
					setActiveTab(this);
					this.prevAll('.menuTab').not(":last").each(function() {
						if ($(this).hasClass('active')) {
							setActiveTab(this);
						}
						$('.RuoYi_iframe[data-id="' + $(this).data('id') + '"]').remove();
						$(this).remove();
					});
					$('.page-tabs-content').css("margin-left", "0");
				}
			},
			"close_right": {
				name: "关闭右侧",
				icon: "fa-share",
				callback: function(key, opt) {
					setActiveTab(this);
					this.nextAll('.menuTab').each(function() {
						$('.menuTab[data-id="' + $(this).data('id') + '"]').remove();
						$(this).remove();
					});
				}
			},
			"close_all": {
				name: "全部关闭",
				icon: "fa-window-close",
				callback: function(key, opt) {
					tabCloseAll();
				}
			},
			"step": "---------",
			"full": {
				name: "全屏显示",
				icon: "fa-arrows-alt",
				callback: function(key, opt) {
					setActiveTab(this);
					var target = $('.RuoYi_iframe[data-id="' + this.data('id') + '"]');
					target.fullScreen(true);
				}
			},
			"refresh": {
				name: "刷新页面",
				icon: "fa-refresh",
				callback: function(key, opt) {
					setActiveTab(this);
					var target = $('.RuoYi_iframe[data-id="' + this.data('id') + '"]');
					var url = target.attr('src');
					$.modal.loading("数据加载中，请稍后...");
					target.attr('src', url).load(function() {
						$.modal.closeLoading();
					});
				}
			},
			"open": {
				name: "新窗口打开",
				icon: "fa-link",
				callback: function(key, opt) {
					var target = $('.RuoYi_iframe[data-id="' + this.data('id') + '"]');
					window.open(target.attr('src'));
				}
			},
		}
	})
});
